<html>
<head><meta charset="utf-8"><title>future-incompat planning · t-compiler/wg-meta · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/index.html">t-compiler/wg-meta</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html">future-incompat planning</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="160679592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160679592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160679592">(Mar 13 2019 at 16:04)</a>:</h4>
<p>hi <span class="user-mention" data-user-id="126931">@centril</span></p>



<a name="160679606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160679606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160679606">(Mar 13 2019 at 16:04)</a>:</h4>
<p>Hey!</p>



<a name="160679630"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160679630" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160679630">(Mar 13 2019 at 16:04)</a>:</h4>
<p>I'm going to transcribe our Discord conversation to a gist and then post a link to it.</p>



<a name="160679698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160679698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160679698">(Mar 13 2019 at 16:05)</a>:</h4>
<p>transcription will be linked here: <a href="https://gist.github.com/pnkfelix/a927bfd5c008e07e9757ac608c6c4443" target="_blank" title="https://gist.github.com/pnkfelix/a927bfd5c008e07e9757ac608c6c4443">https://gist.github.com/pnkfelix/a927bfd5c008e07e9757ac608c6c4443</a></p>



<a name="160679978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160679978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160679978">(Mar 13 2019 at 16:08)</a>:</h4>
<p>And now I will attempt to summarize, for the benefit of <span class="user-group-mention" data-user-group-id="1095">@WG-compiler-meta</span></p>



<a name="160680003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160680003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160680003">(Mar 13 2019 at 16:08)</a>:</h4>
<p>inspired by discussion of <a href="https://github.com/rust-lang/rust/issues/58739" target="_blank" title="https://github.com/rust-lang/rust/issues/58739">#58739</a> and a hypothetical future-incompat lint there</p>



<a name="160680058"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160680058" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160680058">(Mar 13 2019 at 16:09)</a>:</h4>
<p><span class="user-mention" data-user-id="126931">@centril</span> and I were were musing about some of the problems associated with shifting existing future-incompatibility lints from warnings into hard errors</p>



<a name="160680147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160680147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160680147">(Mar 13 2019 at 16:10)</a>:</h4>
<p>There are two problems that we discussed. Well, maybe three problems, depending on your point of view.</p>



<a name="160680206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160680206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160680206">(Mar 13 2019 at 16:10)</a>:</h4>
<p>First problem: We've been creating future-incompatibility lints, but we have not been establishing a plan/schedule for <em>when</em> they will eventually turn from warnings into hard errors.</p>



<a name="160680294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160680294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160680294">(Mar 13 2019 at 16:11)</a>:</h4>
<p>That seems like a policy question. Its probably one that is best handled by T-compiler and T-lang</p>



<a name="160680402"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160680402" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160680402">(Mar 13 2019 at 16:12)</a>:</h4>
<p>Second problem: The existing future-incompat lint structure lets developers <code>#![allow(..)]</code> such lints.</p>



<a name="160680427"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160680427" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160680427">(Mar 13 2019 at 16:12)</a>:</h4>
<p>Thus silencing them. Thus largely defeating their purpose.</p>



<a name="160680587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160680587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160680587">(Mar 13 2019 at 16:12)</a>:</h4>
<p>this may be especially problematic when one considers <code>cargo</code> and <code>--cap-lints=allow</code>.</p>



<a name="160680689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160680689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160680689">(Mar 13 2019 at 16:13)</a>:</h4>
<p>We almost certainly need to change that behavior in <em>some</em> fashion.</p>



<a name="160680932"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160680932" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160680932">(Mar 13 2019 at 16:14)</a>:</h4>
<p>but (and this is the third problem), I am not even sure how many stake-holders there are when it comes to such a change.</p>



<a name="160681169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160681169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160681169">(Mar 13 2019 at 16:14)</a>:</h4>
<p>Or, a rephrasing of the third-problem: Which teams/stakeholders to we need to pull into discussion of this matter?</p>



<a name="160681325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160681325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160681325">(Mar 13 2019 at 16:15)</a>:</h4>
<p>that last bit was what I think led <span class="user-mention" data-user-id="126931">@centril</span> to suggest bringing this question to <span class="user-group-mention" data-user-group-id="1095">@WG-compiler-meta</span></p>



<a name="160681577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160681577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160681577">(Mar 13 2019 at 16:15)</a>:</h4>
<p>There's also probably a 4th problem: when we do move from warning=&gt;deny=&gt;error, who needs to approve? do we require team approval (which teams?), or just someone who reviews the crater regressions, the amount of time and then r+es?</p>



<a name="160682394"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160682394" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160682394">(Mar 13 2019 at 16:17)</a>:</h4>
<p>also cc <span class="user-mention" data-user-id="116009">@nikomatsakis</span>  <span aria-label="slight smile" class="emoji emoji-1f642" role="img" title="slight smile">:slight_smile:</span></p>



<a name="160715246"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160715246" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vadim Petrochenkov <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160715246">(Mar 13 2019 at 18:34)</a>:</h4>
<p>For some background, the first "cycle" for compatibility warnings lasted for about 6 months, the second one for about 9 months, IIRC.<br>
(I sent PRs promoting the warnings to deny-by-default and to errors in both cases.)<br>
I planned to the third "cycle" to last for about a year (which seems like an ok timing for me in general), but the edition and other things happened, so it's more than 1.5 years now.</p>



<a name="160715307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160715307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vadim Petrochenkov <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160715307">(Mar 13 2019 at 18:35)</a>:</h4>
<p>Of course, some lints were turned into errors out of the cycle because they blocked some other work or made it unwieldy.</p>



<a name="160804536"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160804536" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160804536">(Mar 14 2019 at 17:47)</a>:</h4>
<blockquote>
<p>We almost certainly need to change that behavior in <em>some</em> fashion.</p>
</blockquote>
<p>see also <a href="https://github.com/rust-lang/rust/issues/34596" target="_blank" title="https://github.com/rust-lang/rust/issues/34596">https://github.com/rust-lang/rust/issues/34596</a> -- the best UI is a complex question.</p>



<a name="160804650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160804650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160804650">(Mar 14 2019 at 17:48)</a>:</h4>
<blockquote>
<p>Or, a rephrasing of the third-problem: Which teams/stakeholders to we need to pull into discussion of this matter?</p>
</blockquote>
<p>I think perhaps the best thing would be to be somewhat "self-selecting". That is, we might try to arrange a meeting for a date in the future, and then advertise it widely and see who shows up and is interested. I think it would be a good topic for an RFC, ultimately.</p>



<a name="160804681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160804681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160804681">(Mar 14 2019 at 17:48)</a>:</h4>
<p>Basically I imagine a short-lived working group focused on drafting a policy</p>



<a name="160804719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160804719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160804719">(Mar 14 2019 at 17:49)</a>:</h4>
<p>not necessarily one that we go through the trouble to "list" on the page or anything</p>



<a name="160804730"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160804730" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160804730">(Mar 14 2019 at 17:49)</a>:</h4>
<p>actually, if we adopted a "sprint-like structure"</p>



<a name="160804736"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160804736" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160804736">(Mar 14 2019 at 17:49)</a>:</h4>
<p>this would be a good sprint goal for the meta WG</p>



<a name="160805684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160805684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160805684">(Mar 14 2019 at 18:00)</a>:</h4>
<p>I think T-Lang + T-Compiler are probably natural reviewers of an RFC in the end (at least for the non-cargo-ish parts)</p>



<a name="160942593"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160942593" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160942593">(Mar 16 2019 at 08:49)</a>:</h4>
<blockquote>
<p>see also <a href="https://github.com/rust-lang/rust/issues/34596" target="_blank" title="https://github.com/rust-lang/rust/issues/34596">https://github.com/rust-lang/rust/issues/34596</a> -- the best UI is a complex question. </p>
</blockquote>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Looking at this, I think we should at least start with:<br>
1. Make <code>#![allow(the_incompat_lint)]</code> have no effect and cap the lint at <code>warn</code> at most.<br>
2. Extend this to <code>--cap-lints=allow</code><br>
1. can be done before 2.<br>
As for not spamming people, first I think the annoyance is by design. I also think each future-compat lint should be emitted at least once. (e.g. don't say that the crate is broken, show why it is broken... because the crate author may be the same one as the dependency's author). That said, I think if we can reduce repetition that's good. However, I think we should not block on this because it may take much time and we should solve the more urgent problem first even if it temporarily is annoying.</p>



<a name="160942658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/160942658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#160942658">(Mar 16 2019 at 08:51)</a>:</h4>
<p>E.g. in the case of Servo and the type alias problem, this should encourage Servo's authors to file bugs against the third party crate such that the warning goes away.</p>



<a name="161058352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161058352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cem Karan <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161058352">(Mar 18 2019 at 13:47)</a>:</h4>
<blockquote>
<p>For some background, the first "cycle" for compatibility warnings lasted for about 6 months, the second one for about 9 months, IIRC.<br>
(I sent PRs promoting the warnings to deny-by-default and to errors in both cases.)<br>
I planned to the third "cycle" to last for about a year (which seems like an ok timing for me in general), but the edition and other things happened, so it's more than 1.5 years now.</p>
</blockquote>
<p>How about doing this based on editions?  As I understand the discussions around the <a href="https://github.com/steveklabnik/rfcs/blob/2019-roadmap/text/0000-roadmap-2019.md" target="_blank" title="https://github.com/steveklabnik/rfcs/blob/2019-roadmap/text/0000-roadmap-2019.md">2019 roadmap,</a> rust is now now going to be doing editions fairly regularly, correct?  So, how about in edition <code>N</code> it's a warning, in edition <code>N+1</code> it gets denied, and in edition <code>N+2</code> it's a hard error?  This will also give users an idea of how to prioritize any changes they need to make in their code bases based on where in the cycle a feature happens to be.</p>
<p>We can probably extend this to any sort of deprecation of features as well; that will allow rust to keep evolving, while allowing end users to keep up with the changes.</p>



<a name="161059999"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161059999" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161059999">(Mar 18 2019 at 14:08)</a>:</h4>
<p>I recently brought up a similar idea, of trying to tie incompat-shifts to edition releases, to SimonSapin. I wish I could remember the various objections they brought up, because I just remember instantly agreeing and saying it was a bad idea</p>



<a name="161060031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161060031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161060031">(Mar 18 2019 at 14:09)</a>:</h4>
<p>One concern is that it may be conflating very different things</p>



<a name="161060120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161060120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161060120">(Mar 18 2019 at 14:10)</a>:</h4>
<p>(e.g. consider changing coding style in order to match edition <em>idioms</em>, versus revising code in order to deal with anticipated hard errors predicts by future-incompat lints)</p>



<a name="161064205"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161064205" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cem Karan <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161064205">(Mar 18 2019 at 14:56)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> Could you point me to where those concerns are at?  I'd like to know more, as well as see if we can come up with a systematic way of handling incompatible updates in the future. </p>
<p>Hrmmmmm.... maybe we need a working group on how to handle incompatible changes from a policy point of view...</p>



<a name="161064660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161064660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161064660">(Mar 18 2019 at 15:01)</a>:</h4>
<p>It was during a face-to-face conversation; I’ll try to poke Simon and ask them to boost my memory</p>



<a name="161087036"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161087036" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cem Karan <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161087036">(Mar 18 2019 at 19:10)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> Thanks.</p>



<a name="161156035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161156035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161156035">(Mar 19 2019 at 14:38)</a>:</h4>
<blockquote>
<p>I recently brought up a similar idea, of trying to tie incompat-shifts to edition releases, to SimonSapin. I wish I could remember the various objections they brought up, because I just remember instantly agreeing and saying it was a bad idea</p>
</blockquote>
<p>for one thing I think the timeline is way too long</p>



<a name="161156054"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161156054" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161156054">(Mar 19 2019 at 14:38)</a>:</h4>
<p>future incompatibility warnings are generally due to things like <strong>bug fixes</strong></p>



<a name="161156077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161156077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161156077">(Mar 19 2019 at 14:38)</a>:</h4>
<p>we are not going to wait until Rust 2021 (or whenever next edition occurs) to stabilize NLL</p>



<a name="161156529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161156529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161156529">(Mar 19 2019 at 14:43)</a>:</h4>
<p>Part of why I wanted to get a better handle on the C-future-compat lints was that I think we let them sit around for way too long even today; I'd like to shorten it overall</p>



<a name="161156551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161156551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161156551">(Mar 19 2019 at 14:43)</a>:</h4>
<p>It's fine to postpone based on crater runs ofc</p>



<a name="161156590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161156590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161156590">(Mar 19 2019 at 14:43)</a>:</h4>
<p>But if 3 months have passed and there are no crater regressions it should just be moved along</p>



<a name="161156700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161156700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161156700">(Mar 19 2019 at 14:44)</a>:</h4>
<p>I think of the schedules and whatnot as scheduled check-ins and guidelines</p>



<a name="161171160"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185694-t-compiler/wg-meta/topic/future-incompat%20planning/near/161171160" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cem Karan <a href="https://rust-lang.github.io/zulip_archive/stream/185694-t-compiler/wg-meta/topic/future-incompat.20planning.html#161171160">(Mar 19 2019 at 17:21)</a>:</h4>
<blockquote>
<p>for one thing I think the timeline is way too long</p>
</blockquote>
<p>What sort of timeline were you imagining?  That might suggest how to handle it.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>